import { defineStore } from 'pinia'
// 响应式数据
import { ref } from 'vue'
import { login } from '@/api/login-register'

const useUserStore = defineStore('user', () => {
    // 用户状态信息
    const token = ref<string>('')
    const userid = ref<string>('')

    // 用户登录成功，需要保存 token 与 userid 到状态当中
    const loginAction = async (loginname: string, password: string) => {
        try {
            const result: any = await login(loginname, password)
            // 登录成功，将 token 与 userid 保存到状态中
            if (result) {
                token.value = result.token
                return true  //返回到调用处，表示登录成功
            }
            return false  //返回到调用处，表示登录失败
        } catch (error: any) {
            return false
        }
    }

    return {
        token,
        userid,
        loginAction,
    }
},
    {
        persist: true,
    })

export default useUserStore